/*
 * Serum
 *
 * @license      GNU Lesser General Public Licence see LICENCE-LGPL file or http://www.gnu.org/licenses/lgpl.html
 */

Ext.namespace('Serum.Form.Module.Admins');

Serum.Module.Admins = Ext.extend(Serum.Module.Base, {

    formClass: function() {
        switch(Serum.Selector.get().action) {
            case 'editParent':
            case 'addParent':
                return 'Serum.Form.Module.Admins.EditParent';
            case 'edit':
            case 'add':
                return 'Serum.Form.Module.Admins.Edit';
            default:
                return Serum.Module.Admins.superclass.formClass.call(this);
        }
    }

});

Serum.Form.Module.Admins.Edit = Ext.extend(Serum.Form.Module.Edit, {

    fieldsList: function(results) {
        return {
            'general': [
                {   'name':         {},
                    'firstname':    {},
                    'email':        {},
                    'login':        {},
                    'password':     {}
                }
            ],

            'i18n': [
                {
                    'DbLanguage':   {},
                    'DbCountry':    {}
                }
            ],

            'rights': [
                {
                    'DbProfile':     {disabled: (results['default']['id']['value'] == 1)}
                }
            ]
        };
    }
});

Serum.Form.Module.Admins.EditParent = Ext.extend(Serum.Form.Module.Edit, {

    fieldsList: function(results) {
        if (results['default']['id']['value'] == 1) {
            return {
                'default': [
                    {   'name':         {disabled: true},
                        'fileVisual':   {disabled: true},
                        'slug':         {disabled: true},
                        'DbModule':     {disabled: true}
                    }]
            };
        }

        return {
            'default': [
                {   'name':         {},
                    'fileVisual':   {},
                    'slug':         {},
                    'DbModule':     {}
                }]
        };
    }
});
